<?php
Yii::import('ext.barcode.class.BCGFont');
Yii::import('ext.barcode.class.BCGColor');
Yii::import('ext.barcode.class.BCGDrawing');
Yii::import('ext.barcode.class.BCGFont');
require_once 'class/BCGcode128.barcode.php';
class CBarCode extends CApplicationComponent {
	public function output($text, $scale = 1) {
		$font = new BCGFont(dirname(__FILE__) . '/class/font/Arial.ttf', 8);

		// The arguments are R, G, B for color.
		$color_black = new BCGColor(0, 0, 0);
		$color_white = new BCGColor(255, 255, 255);

		$code = new BCGcode128();
		$code->setScale($scale); // Resolution
		$code->setThickness(25); // Thickness
		$code->setForegroundColor($color_black); // Color of bars
		$code->setBackgroundColor($color_white); // Color of spaces
		$code->setFont($font); // Font (or 0)
		$code->parse($text);

		//$code->setLabel('');
		/* Here is the list of the arguments
		 1 - Filename (empty : display on screen)
		2 - Background color */
		$drawing = new BCGDrawing('', $color_white);
		$drawing->setBarcode($code);
		$drawing->draw();

		// Header that says it is an image (remove it if you save the barcode to a file)
		header('Content-Type: image/png');

		// Draw (or save) the image into PNG format.
		$drawing->finish(BCGDrawing::IMG_FORMAT_PNG);
	}
}
